From: Karl Palsson Date: Tue, 30 Jun 2020 15:40:52 +0000 (+0000) Subject: luci-base: allow themes to provide sysauth.htm X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22/%22https:/collectd.org/%22?a=commitdiff_plain;h=8f9433127e5d2a576a1207da46d02389b82041a5;p=project%2Fluci.git luci-base: allow themes to provide sysauth.htm Support for sysauth_template was (inadvertently) dropped in refactorings to support the json menu construction. This does not restore that functionality, which allowed different templates for every node in the dispatcher tree, but provides an alternative mechanism that allows a theme to provide a sysauth.htm template file instead. Tested-by: Karl Palsson Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua index d2552d6db4..57b4e12d17 100644 --- a/modules/luci-base/luasrc/dispatcher.lua +++ b/modules/luci-base/luasrc/dispatcher.lua @@ -884,7 +884,12 @@ function dispatch(request) http.status(403, "Forbidden") http.header("X-LuCI-Login-Required", "yes") - return tpl.render("sysauth", { duser = "root", fuser = user }) + local scope = { duser = "root", fuser = user } + local ok, res = util.copcall(tpl.render_string, [[<% include("themes/" .. theme .. "/sysauth") %>]], scope) + if ok then + return res + end + return tpl.render("sysauth", scope) end http.header("Set-Cookie", 'sysauth=%s; path=%s; SameSite=Strict; HttpOnly%s' %{